x86, hvm: If an MMIO handler returns X86EMUL_RETRY we must still
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 15 Apr 2008 14:45:42 +0000 (15:45 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 15 Apr 2008 14:45:42 +0000 (15:45 +0100)
complete the dummy I/O request-response cycle.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/arch/x86/hvm/emulate.c

index 036583d90ce458a298d56401b9a676046d424f4f..d7bf9f3f2f9bf846cd6b32861e58f3490c8f8aff 100644 (file)
@@ -76,6 +76,7 @@ static int hvmemul_do_io(
     switch ( rc )
     {
     case X86EMUL_OKAY:
+    case X86EMUL_RETRY:
         *reps = p->count;
         p->state = STATE_IORESP_READY;
         hvm_io_assist();
@@ -87,8 +88,6 @@ static int hvmemul_do_io(
         hvm_send_assist_req(curr);
         rc = (val != NULL) ? X86EMUL_RETRY : X86EMUL_OKAY;
         break;
-    case X86EMUL_RETRY:
-        break;
     default:
         BUG();
     }